
package Figuras;

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;


public class Rectangulo extends ComponenteGenerico{

    private int ancho;
    private int alto;


    public Rectangulo(Point2D punto, int ancho, int alto){
        super(punto);
        introduceElAnchoDelRectangulo(ancho);
        introduceElAltoDelRectangulo(alto);
    }

    public Rectangulo(int x, int y, int ancho, int alto){
        super(x, y);
        introduceElAnchoDelRectangulo(ancho);
        introduceElAltoDelRectangulo(alto);
    }

    public int devuelveElAltoDelRectangulo() {
        return alto;
    }

    public void introduceElAltoDelRectangulo(int alto) {
        this.alto = alto;
    }

    public int devuelveElAnchoDelRectangulo() {
        return ancho;
    }

    public void introduceElAnchoDelRectangulo(int ancho) {
        this.ancho = ancho;
    }

    @Override
    public void dibujar(Graphics g){
        Graphics2D g2;
        Rectangle2D r2;

        r2 = new Rectangle2D.Float((int)devuelveElPuntoDeInicio().getX(), (int)devuelveElPuntoDeInicio().getY(),
                    devuelveElAnchoDelRectangulo(), devuelveElAltoDelRectangulo());
        g2 = (Graphics2D)g;
        g2.draw(r2);
    }

    @Override
    public boolean devuelveSiEstaDentroElPunto(int x, int y){
        if((x > devuelveElPuntoDeInicio().getX()) && (x < (devuelveElPuntoDeInicio().getX() + devuelveElAnchoDelRectangulo())) &&
                (y > devuelveElPuntoDeInicio().getY()) && (y < (devuelveElPuntoDeInicio().getY() + devuelveElAltoDelRectangulo()))){
            return true;
        }
        return false;
    }

    @Override
    public void devuelveLaPosicionDeInicioDelComponente(int x, int y){
        introduceElPuntoDeInicio(x, y);
    }

}
